package cn.tedu.mintmall.service.Impl;

import cn.tedu.mintmall.dto.SkuAddNewDTO;
import cn.tedu.mintmall.dto.SkuUpdateFullInfoDTO;
import cn.tedu.mintmall.entity.Sku;
import cn.tedu.mintmall.exception.MintmallServiceException;
import cn.tedu.mintmall.mapper.SkuMapper;
import cn.tedu.mintmall.restful.ResponseCode;
import cn.tedu.mintmall.service.ISkuService;
import cn.tedu.mintmall.vo.SkuStandardVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class SkuServiceImpl implements ISkuService {

    @Autowired
    private SkuMapper skuMapper;

    @Override
    public void addNew(SkuAddNewDTO skuAddNewDTO) {
        Sku sku = new Sku();
        BeanUtils.copyProperties(skuAddNewDTO,sku);
        skuMapper.insert(sku);
    }

    @Override
    public void deleteSkuById(Long id) {
        skuMapper.deleteById(id);
    }

    @Override
    public void updateSkuById(Long id, SkuUpdateFullInfoDTO skuUpdateFullInfoDTO) {
        Sku sku = new Sku();
        BeanUtils.copyProperties(skuUpdateFullInfoDTO,sku);
        skuMapper.updateFullInfoById(sku);
    }

    @Override
    public SkuStandardVO getById(Long id) {
        SkuStandardVO skuStandardVO = skuMapper.getById(id);
        if(skuStandardVO == null){
            throw new MintmallServiceException(ResponseCode.NOT_FOUND,"查询sku数据不存在");
        }
        return skuStandardVO;
    }
}
